package com.fh.Thread_Exercise;
/*
（1）有2个用户分别从同一个卡上取钱（总额：10000）
（2）每次都取1000，当余额不足时，就不能取款了
（3）不能出现超取现象=》线程同步问题.
 */
public class Exercise03 {
    public static void main(String[] args) {
        new user().start();
        new user().start();
    }
}
class user extends Thread {
    private static int currentaccount = 10000;
    @Override
    public void run() {
            while (true) {
                synchronized (user.class) {
                if (currentaccount >= 1000) {
                    currentaccount = currentaccount - 1000;
                    System.out.println("用户:" + Thread.currentThread().getName() + "当前余额 = " + currentaccount);
                }else {
                    System.out.println("当前账户没有余额...");
                    break;
                }
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
            }
        }
    }
}

